﻿// <copyright file="GameChangeType.cs" company="SingularityShift">
// Copyright (c) 2009 SingularityShift.com
// </copyright>
// <author>Ben McClure</author>
// <email>ben@singularityshift.com</email>
// <date>2009-08-14</date>
// <summary>Defines various types of changes a game can make, for use in GameChangedEventArgs</summary>
namespace GameLib.Games.Util
{
    /// <summary>
    /// <para>Defines how a game was changed.</para>
    /// <para>This is used in the <see cref="GameChangedEventArgs"/> of a GameChanged event</para>
    /// </summary>
    public enum GameChangeType
    {
        /// <summary>
        /// Signifies that an IMod has been added to the InstalledMods list
        /// </summary>
        InstalledModAdded,
        
        /// <summary>
        /// Signifies that an IMod has been removed from the InstalledMods list
        /// </summary>
        InstalledModRemoved,
        
        /// <summary>
        /// Signifies that an IMod has been modified in the InstalledMods list.
        /// </summary>
        InstalledModChanged,
        
        /// <summary>
        /// Signifies that the InstalledMods list has changed significantly, or been replaced.
        /// </summary>
        InstalledModsReset,
        
        /// <summary>
        /// Signifies that the InstalledMods list has been exported (has taken effect in the game).
        /// </summary>
        InstalledModsExported,
        
        /// <summary>
        /// Signifies that an IMod has been added to the ActiveMods list
        /// </summary>
        ActiveModAdded,
        
        /// <summary>
        /// Signifies that an IMod has been removed from the ActiveMods list
        /// </summary>
        ActiveModRemoved,
        
        /// <summary>
        /// Signifies that an IMod has been modified in the ActiveMods list.
        /// </summary>
        ActiveModChanged,
        
        /// <summary>
        /// Signifies that the ActiveMods list has changed significantly, or been replaced.
        /// </summary>
        ActiveModsReset,
        
        /// <summary>
        /// Signifies that the ActiveMods list has been exported (has taken effect in the game).
        /// </summary>
        ActiveModsExported,
        
        /// <summary>
        /// Signifies that the GameDir has been modified
        /// </summary>
        GameDirChanged,
        
        /// <summary>
        /// Signifies that the BinDir has been modified
        /// </summary>
        BinDirChanged,
        
        /// <summary>
        /// Signifies that the DataDir has been modified
        /// </summary>
        DataDirChanged,
        
        /// <summary>
        /// Signifies that the ModDir has been modified
        /// </summary>
        ModDirChanged,
        
        /// <summary>
        /// Signifies that the DisabledModDir has been modified
        /// </summary>
        DisabledModDirChanged,
        
        /// <summary>
        /// Signifies that an IMod has been enabled in the game
        /// </summary>
        ModEnabled,
        
        /// <summary>
        /// Signifies that an IMod has been disabled in the game
        /// </summary>
        ModDisabled,
        
        /// <summary>
        /// Signifies that the ConfigFile location has been modified
        /// </summary>
        ConfigFileChanged,
        
        /// <summary>
        /// Signifies that the Exe name has changed for the game.
        /// </summary>
        ExeChanged
    }
}

